package com.cdeledu.thread4.c15;

public interface Observable {
	
	//任务生命周期的枚举类型
	enum Cycle {
		STARTED, RUNNING, DONE, ERROR
	}

	/**获取当前任务处于哪个执行阶段
	 * @return
	 */
	Cycle getCycle();

	/**主要是为了屏蔽Thread类其他的API，可通过Observable的start对线程进行启动
	 * 
	 */
	void start();

	/**作用与start一样，可通过Observable的interrupt对当前线程进行中断
	 * 
	 */
	void interrupt();

}
